function [ filter ] = my_gaussian( x_dev, y_dev, width, height, rotation )

    x_func = @(x) 1/(x_dev*sqrt(2*pi))*exp(1)^-(x^2/(2*x_dev^2));
    y_func = @(x) 1/(y_dev*sqrt(2*pi))*exp(1)^-(x^2/(2*y_dev^2));

    filter = rand(width, height);
    r = rotation;
    for i = 1:1:width
        for j = 1:1:height
            o_i = i - width/2;
            o_j = j - height/2;
            filter(i, j) = x_func(o_i*cos(r) - o_j*sin(r)) * y_func(o_i*sin(r) + o_j*cos(r));
        end
    end
end

